// Programa combinacional. Segn el estado de los interruptores RA0 y RA1, activar
// los leds RB0-RB7 conectados a la puerta B, conforme a la siguiente tabla de
// la verdad:
//
// RA1 RA0  RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
// --- ---  --- --- --- --- --- --- --- ---
//  0   0    1   0   1   0   1   0   1   0
//  0   1    0   1   0   1   0   1   0   1
//  1   0    0   0   0   0   1   1   1   1
//  1   1    1   1   1   1   0   0   0   0


void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_ccp1(CCP_OFF);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);

   // TODO: USER CODE!!

   output_b(0x0);               //Borra las salidas
   setup_adc_ports(NO_ANALOGS);   //Puerta A digital
   set_tris_a(0x3F);            //Puerta A entrada
   set_tris_b(0x00);            //Puerta B salida

   while(1)
      switch(input_a() & 0b00000011)// Mascara para RA0 y RA1
      {
         case 0: output_b(0b10101010); break;
         case 1: output_b(0b01010101); break;
         case 2: output_b(0b00001111); break;
         case 3: output_b(0b11110000); break;
         default:;
      }
}